#!/usr/bin/env node

// console.log(123);

const inquirer = require('inquirer')
const path = require('path')
const fs = require('fs')
const ejs = require('ejs')

// 命令行询问用户输入信息
inquirer.prompt([
    {
        type: 'input',
        name: 'name',
        message: 'Please input your project name,'
    }
]).then(answer => {
    // console.log(answer);        // 用户输入结果
    readAndWriteTemp(answer)
})

// 根据用户输入信息读写模板文件
function readAndWriteTemp(answer) {
    // 模板文件目录
    const templatesDir = path.join(__dirname, 'templates')
    // 目标目录
    const destinationDir = process.cwd()
    // 将模板文件写入目标目录
    fs.readdir(templatesDir, (error, files) => {
        if (error) throw error
        files.forEach(file => {
            // console.log(file);
            // 通过模板引擎去渲染路径下的文件
            ejs.renderFile(path.join(templatesDir, file), answer, (err, res) => {
                if (err) throw err
                // console.log(res);
                // 将文件写入目标文件
                fs.writeFileSync(path.join(destinationDir, file), res)
            })
        })
    })
}


